home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / clue.lha / clue / defsys.l < prev    next >
Lisp/Scheme  |  1989-07-12  |  3KB  |  123 lines

  1. ;;; -*- Mode:Lisp; Package:USER; Syntax:COMMON-LISP; Base:10; Lowercase:T -*-
  2.  
  3. ;;; PCL style defsystem definitions.  Use pcl::operate-on-system
  4. ;;; This code contributed by Martin Dragomirecky <steinmetz!dragomir@uunet.UU.NET>
  5.  
  6. (in-package 'user)
  7.  
  8. #-lispm
  9. (progn                        ; SITE DEPENDENT
  10.   (defvar *clx-directory*  "/usr/X11/lib/CLX/*")
  11.   (defvar *clos-kludge-directory*)
  12.   (defvar *clue-directory* nil)
  13.   (defvar *clue-examples-directory* nil)
  14.   (defvar *clue-demo-directory* nil)
  15.   )
  16. #+lispm
  17. (progn                        ; Lispm's have logical pathnames
  18.   (defvar *clx-directory*  "clx:clx;")
  19.   (defvar *clue-directory* "clue:clue;")
  20.   (defvar *clos-kludge-directory*  "clue:clos-kludge;")
  21.   (defvar *clue-examples-directory* "clue:examples;")
  22.   (defvar *clue-demo-directory* "clue:demo;")
  23.   )
  24.  
  25. #+comment
  26. ;; Here's a recommended set of LISPM logical pathname translations:
  27. (fs:set-logical-pathname-host "CLUE" :physical-host si:local-host
  28.                   :translations 
  29.                   '(("CLUE" "CLUE;")
  30.                 ("EXAMPLES" "CLUE.EXAMPLES;")
  31.                 ("DEMO" "CLUE.DEMO;")
  32.                 ("DOC" "CLUE.DOC;")
  33.                 ("PATCH" "CLUE.PATCH;")
  34.                 ("CLOS-KLUDGE" "clue.clos-kludge;")
  35.                 ))
  36.  
  37. ;; Ensure VALUES is a legal declaration
  38. (proclaim '(declaration values))
  39.  
  40. ;; Ensure *features* knows about CLOS and PCL
  41. (when (find-package 'pcl)
  42.   (pushnew :pcl  *features*)
  43.   (pushnew :clos *features*))
  44.  
  45. (when (find-package 'clos)
  46.   (pushnew :clos *features*))
  47.  
  48. ;; Ensure *features* knows about the Common Lisp Error Handler
  49. (when (find-package 'conditions)
  50.   (pushnew :cleh *features*))
  51.  
  52. (pcl::defsystem CLX
  53.   *clx-directory*
  54.   (
  55.    (depdefs () () ())
  56.    (clx t t ())
  57.    (dependent t t ())
  58.    (clos-patch t t ())
  59.    (macros t t ())
  60.    (bufmac t t ())
  61.    (buffer t t ())
  62.    (display t t ())
  63.    (gcontext t t ())
  64.    (requests t t ())
  65.    (input t t ())
  66.    (fonts t t ())
  67.    (graphics t t ())
  68.    (text t t ())
  69.    (attributes t t ())
  70.    (translate t t ())
  71.    (keysyms t t ())
  72.    (manager t t ())
  73.    (image t t ())
  74.    (resource t t ())
  75.    )
  76.   )
  77.  
  78. (pcl::defsystem CLUE
  79.   *clue-directory*
  80.   (
  81.    (clue () () ())
  82.    (clx-patch t t ())
  83.    (window-doc t t ())
  84.    (gc-cache t t ())
  85.    (defcontact t t ())
  86.    (intrinsics t t ())
  87.    (resource t t ())
  88.    (gray t t ())
  89.    (cursor t t ())
  90.    (events t t ())
  91.    (virtual t t ())
  92.    (package t t ())
  93.    )
  94.   )
  95.  
  96. (pcl::defsystem CLUE-EXAMPLES
  97.   *clue-examples-directory*
  98.   (
  99.     (button () () ())        ;; label and button contacts
  100.     (menu () () ())        ;; menu contacts
  101.     (stream () () ())        ;; Interactive stream contact
  102.     (valuators () () ())    ;; sliders
  103.     (alt-menu () () ())        ;; Menus whose items aren't windows
  104.     (rmenu () () ())        ;; Menu whose item list is a resource
  105.     (scroll () () ())     ;; wraps scroll bars onto a window
  106.    )
  107.   )
  108.  
  109. (pcl::defsystem CLUE-DEMO
  110.   *clue-demo-directory*
  111.   (
  112.    (mouse-doc () () ())            ;; pointer documentation window
  113.    (menu-demo () () ())            ;; Simple menu demos
  114.    (grapher () () ())            ;; tree displayer
  115.    (graph-data (grapher) (grapher) ())    ;; Data for grapher
  116.    (listener () () ())            ;; Lisp Listener
  117.    (scroller () () ())            ;; scrolling bitmap displayer
  118.    (demo-all t t ())            ;; Menu-driven interface for above
  119.    )
  120.   )
  121.  
  122.  
  123.